home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.text;
-
- import java.util.Enumeration;
- import java.util.Vector;
-
- public class AbstractDocument$BranchElement extends AbstractDocument.AbstractElement {
- // $FF: synthetic field
- private final AbstractDocument this$0;
- private AbstractDocument.AbstractElement[] children;
- private int nchildren;
- private int lastIndex;
-
- public AbstractDocument$BranchElement(AbstractDocument var1, Element var2, AttributeSet var3) {
- super(var1, var2, var3);
- this.this$0 = var1;
- this.children = new AbstractDocument.AbstractElement[1];
- this.nchildren = 0;
- this.lastIndex = -1;
- }
-
- public Enumeration children() {
- if (this.nchildren == 0) {
- return null;
- } else {
- Vector var1 = new Vector(this.nchildren);
-
- for(int var2 = 0; var2 < this.nchildren; ++var2) {
- var1.addElement(this.children[var2]);
- }
-
- return var1.elements();
- }
- }
-
- public boolean getAllowsChildren() {
- return true;
- }
-
- public Element getElement(int var1) {
- return var1 < this.nchildren ? this.children[var1] : null;
- }
-
- public int getElementCount() {
- return this.nchildren;
- }
-
- public int getElementIndex(int var1) {
- int var3 = 0;
- int var4 = this.nchildren - 1;
- int var5 = 0;
- int var6 = this.getStartOffset();
- if (this.nchildren == 0) {
- return 0;
- } else if (var1 >= this.getEndOffset()) {
- return this.nchildren - 1;
- } else {
- if (this.lastIndex >= var3 && this.lastIndex <= var4) {
- AbstractDocument.AbstractElement var8 = this.children[this.lastIndex];
- var6 = var8.getStartOffset();
- int var7 = var8.getEndOffset();
- if (var1 >= var6 && var1 < var7) {
- return this.lastIndex;
- }
-
- if (var1 < var6) {
- var4 = this.lastIndex;
- } else {
- var3 = this.lastIndex;
- }
- }
-
- while(var3 <= var4) {
- var5 = var3 + (var4 - var3) / 2;
- AbstractDocument.AbstractElement var10 = this.children[var5];
- var6 = var10.getStartOffset();
- int var9 = var10.getEndOffset();
- if (var1 >= var6 && var1 < var9) {
- this.lastIndex = var5;
- return var5;
- }
-
- if (var1 < var6) {
- var4 = var5 - 1;
- } else {
- var3 = var5 + 1;
- }
- }
-
- int var2;
- if (var1 < var6) {
- var2 = var5;
- } else {
- var2 = var5 + 1;
- }
-
- this.lastIndex = var2;
- return var2;
- }
- }
-
- public int getEndOffset() {
- AbstractDocument.AbstractElement var1 = this.children[this.nchildren - 1];
- return var1.getEndOffset();
- }
-
- public String getName() {
- String var1 = super.getName();
- if (var1 == null) {
- var1 = "paragraph";
- }
-
- return var1;
- }
-
- public int getStartOffset() {
- return this.children[0].getStartOffset();
- }
-
- public boolean isLeaf() {
- return false;
- }
-
- public Element positionToElement(int var1) {
- int var2 = this.getElementIndex(var1);
- AbstractDocument.AbstractElement var3 = this.children[var2];
- int var4 = var3.getStartOffset();
- int var5 = var3.getEndOffset();
- return var1 >= var4 && var1 < var5 ? var3 : null;
- }
-
- public void replace(int var1, int var2, Element[] var3) {
- int var4 = var3.length - var2;
- int var5 = var1 + var2;
- int var6 = this.nchildren - var5;
- int var7 = var5 + var4;
- if (this.nchildren + var4 >= this.children.length) {
- int var8 = Math.max(2 * this.children.length, this.nchildren + var4);
- AbstractDocument.AbstractElement[] var9 = new AbstractDocument.AbstractElement[var8];
- System.arraycopy(this.children, 0, var9, 0, var1);
- System.arraycopy(var3, 0, var9, var1, var3.length);
- System.arraycopy(this.children, var5, var9, var7, var6);
- this.children = var9;
- } else {
- System.arraycopy(this.children, var5, this.children, var7, var6);
- System.arraycopy(var3, 0, this.children, var1, var3.length);
- }
-
- this.nchildren += var4;
- }
-
- public String toString() {
- return "BranchElement(" + this.getName() + ") " + this.getStartOffset() + "," + this.getEndOffset() + "\n";
- }
- }
-